home *** CD-ROM | disk | FTP | other *** search
-
-
- YACC(1) UNIX Programmer's Manual YACC(1)
-
- NAME
- yacc - yet another compiler-compiler
-
- SYNOPSIS
- yacc [ -vd ] grammar
-
- DESCRIPTION
- Yacc converts a context-free grammar into a set of tables
- for a simple automaton which executes an LR(1) parsing algo-
- rithm. The grammar may be ambiguous; specified precedence
- rules are used to break ambiguities.
-
- The output file, y.tab.c, must be compiled by the C compiler
- to produce a program yyparse. This program must be loaded
- with the lexical analyzer program, yylex, as well as main
- and yyerror, an error handling routine. These routines must
- be supplied by the user; Lex(1) is useful for creating lexi-
- cal analyzers usable by yacc.
-
- If the -v flag is given, the file y.output is prepared,
- which contains a description of the parsing tables and a
- report on conflicts generated by ambiguities in the grammar.
- If the -d flag is used, the file y.tab.h is generated with
- the define statements that associate the yacc-assigned
- `token codes' with the user-declared `token names'. This
- allows source files other than y.tab.c to access the token
- codes.
-
- FILES
- y.output
- y.tab.c
- y.tab.h defines for token names
- yacc.tmp, yacc.acts temporary files
- /usr/lib/yaccpar parser prototype for C programs
- /lib/liby.a library with default `main' and `yyer-
- ror'
-
- SEE ALSO
- lex(1)
- LR Parsing by A. V. Aho and S. C. Johnson, Computing Sur-
- veys, June, 1974.
- YACC - Yet Another Compiler Compiler by S. C. Johnson.
-
- DIAGNOSTICS
- The number of reduce-reduce and shift-reduce conflicts is
- reported on the standard output; a more detailed report is
- found in the y.output file. Similarly, if some rules are
- not reachable from the start symbol, this is also reported.
-
- BUGS
- Because file names are fixed, at most one yacc process can
-
- Printed 12/7/82 1
-
- YACC(1) UNIX Programmer's Manual YACC(1)
-
- be active in a given directory at a time.
-